CPU/SA-1 MIRRORS ---------------- SA-1 CPU 00:0000-00:07FF 00:3000-00:37FF CPU BANK MIRRORS ---------------- 40:0000-40:07FF 7F:F800-7F:FFFF 40:0800-40:0FFF 7F:F800-7F:FFFF 40:1000-40:1FFF 00:9000-00:9FFF 40:2000-40:3FFF 00:6000-00:7FFF 40:4000-40:7FFF VRAM shadow SA-1 MEMORY ----------- 00:2200-00:23FF HWREGISTERS 00:3000-00:37FF IRAM 00:6000-00:7FFF WRAM OAM MEMORY ---------- 0000-000C battle numerals/digits (4 bytes each) RAM MEMORY ---------- 00:3030 current area (2 bytes) 00:3032 current # open chracter slots (1 to 5) 00:3033 character in slot 1 00:3034 character in slot 2 00:3035 character in slot 3 00:3036 character in slot 4 00:3037 character in slot 5 00:303F current # characters in party (1 to 3) 00:3051 current sound effect (event) 00:30DE timed hit variable 00:30F0 Game current score 00:30F4 Game hi-score 00:3112 menu accessibility (EF inaccessible, FF accessible) 00:3113 directions Mario can walk bit 0 - left bit 1 - right bit 2 - down bit 3 - up 00:3117 screen scrolling (00 screen scrolls w/Mario, 01 screen stays put) 00:6007 Mario's sprite (bit 6 - allow sequence animation) 00:600C bit 4 - walking underwater bit 5 - wading through water bit 6 - up-right bit 7 - up-left 00:62A0 - 00:6D1F 14 objects, 96 bytes each 00:7022 frame duration of invincible star (2 bytes) 00:7040 bit 0 - game over 00:7042 bit 0 - temporary event flag... 00:7043 bit 0 - Bowser's Keep: Terrapin guards have been defeated bit 1 - Bowser's Keep: bridge has collapsed 00:7044 bit 7 - returning from saved game 00:704C bit 6 - kid with beetle mania game will now sell it 00:704D bit 3 - Bandit's Way 5: warp available 00:7051 bit 0 - Tadpole Pond: Frogfucius has divulged information bit 1 - Tadpole Pond: Mario has talked to tadpoles, Frogfucius bit 3 - Tadpole Pond: Frogfucius has recieved Cricket Jam bit 4 - Tadpole Pond: Alto Card achieved bit 5 = Tadpole Pond: Frog Coin Emporium tadpole has been talked to 1st time 00:7052 bit 0 = bit 2 - Mario's Pad: Mario has fallen into pipehouse bit 4 - Mushroom Way 1: Toad's been saved from Goomba bit 5 - Mushroom Way 2: Toad's been saved from Sky Troopa bit 6 - Mushroom Way 3: Hammer Bros have been beaten bit 7 - Mario's Pad: Toad has explained (or Mario has used) Save Point 00:7053 bit 0 - Mario's Pad: Toad has talked to Mario after falling into pipehouse bit 1 - Mario's Pad: Exor has been talked to, Toad is inside pipehouse bit 2 - Mario's Pad: Mario has illustrated to Toad the Keep's bridge going out bit 3 - Mario's Pad: Toad has bumped into Mario and informed about Mushroom Way 00:7054 bit 5 = Tadpole Pond: Tenor Card achieved bit 6 = Tadpole Pond: Soprano Card achieved 00:7055 bit 0 = Kero Sewers Entrance: Mario and Mallow enter 1st time bit 1 = Kero Sewers Entrance: 00:7056 bit 0 = Rose Way: Bowser's troops have marched out 00:7058 bit 7 - Seaside Town: Johnny has been beaten, Yaridovich gang waiting at entrance 00:705D bit 4 - bit 5 - Mushroom Kingdom Castle 1: Princess is back 00:7062 event flag: add menu option to overworld menu bit 0 = Map bit 1 = Star Pieces bit 2 = Switch bit 3 = Game WORLD MAP POINT APPEARANCE 00:7065 bit 0 = Mario's Pad bit 1 = To Bowser's Keep bit 2 = Mushroom Way bit 3 = Mushroom Kingdom bit 4 = Bandit's Way bit 5 = To Kero Sewers bit 6 = Midas River bit 7 = Tadpole Pond 00:7066 bit 0 = Rose Way bit 1 bit 2 = Rose Town bit 3 = Forest Maze bit 4 = Pipe Vault/To Moleville bit 5 = Yo'ster Isle bit 6 = Booster Pass bit 7 = Booster Tower 00:7067 bit 0 = Booster Hill/Marrymore bit 1 = Star Hill bit 2 = Seaside Town bit 3 = Sea bit 4 = Sunken Ship bit 5 = To Land's End bit 6 = Monstro Town bit 7 = Bean Valley 00:7068 bit 0 = To Nimbus Land bit 1 = Barrel Volcano bit 2 = To Bowser's Keep bit 3 = To Mario's Pad/Vista Hill bit 4 bit 5 = Gate bit 6 bit 7 = Bowser's Keep WORLD MAP POINT ACCESSIBILITY 00:706D bit 0 = Mario's Pad bit 1 = To Bowser's Keep bit 2 = Mushroom Way bit 3 = Mushroom Kingdom bit 4 = Bandit's Way bit 5 = To Kero Sewers bit 6 = Midas River bit 7 = Tadpole Pond 00:706E bit 0 = Rose Way bit 1 bit 2 = Rose Town bit 3 = Forest Maze bit 4 = Pipe Vault/To Moleville bit 5 = Yo'ster Isle bit 6 = Booster Pass bit 7 = Booster Tower 00:706F bit 0 = Booster Hill/Marrymore bit 1 = Star Hill bit 2 = Seaside Town bit 3 = Sea bit 4 = Sunken Ship bit 5 = To Land's End bit 6 = Monstro Town bit 7 = Bean Valley 00:7070 bit 0 = To Nimbus Land bit 1 = Barrel Volcano bit 2 = To Bowser's Keep bit 3 = To Mario's Pad/Vista Hill bit 4 bit 5 = Gate bit 6 bit 7 = Bowser's Keep 00:7076 bit 0 = invincibility 00:7077 bit 0 = Bandit's Way 1 - Croco has rifled through bag bit 1 = Bandit's Way 2 - Croco has jumped on rotating flower bit 2 = Bandit's Way 3 - Croco has run away bit 3 = Bandit's Way 4 - Croco has been tempted by treasure 00:7081 bit 1 = bit 2 = Mushroom Kingdom Castle Throne Room - Princess is back bit 3 = Mushroom Kingdom - Mallow chases Croco, cries bit 5 = Mushroom Kingdom - raining noise bit 6 = Mushroom Kingdom - Mallow has joined the party bit 7 = Bandit's Way 5 - Croco has been beaten 00:7082 bit 0 = Mushroom Kingdom: Mack has been beaten bit 1 = bit 2 = Mushroom Kingdom - Toad has reported Croco to Mario 00:7083 bit 3 = Tadpole Pond: bit 6 = Rose Town: Bowyer has been beaten 00:7084 bit 7 = Rose Town: Geno has come to life 00:7085 bit 0 = Rose Town: Gaz scene complete 00:7086 bit 0 = Seaside Town: Yaridovich has been beaten bit 1 = Seaside Town: bit 6 = Seaside Town: people have been released from the Shed 00:7087 bit 6 = Tadpole Pond: Juice Bar tadpole has been talked to 1st time 00:7088 bit 4 = Seaside Town: Frogfucius disciple has been talked to 1st time bit 6 = Monstro Town: Thwomp has knocked the key off the ledge bit 7 = Monstro Town: Bowser has talked to Goomba 00:7089 bit 0 = Monstro Town: Mario has talked to music star bit 1 = Monstro Town: Mario has talked to Monstermama 1st time 00:708A bit 0 = Monstro Town: Monstermama has dispatched Troopas bit 1 = Jinx's Dojo: Bowser has talked to Jagger bit 2 = Jinx's Dojo: Jagger has been beaten bit 3 = Jinx's Dojo: Jinx has been beaten 1st time bit 4 = Jinx's Dojo: Jinx has been beaten 2nd time bit 5 = Jinx's Dojo: Jinx has been beaten 3rd time 00:7092 bit 0 = Monstro Town: talk to Chow, Mario has done 30 jumps bit 1 = Monstro Town: talk to Chow bit 2 = Monstro Town: talk to Chow, Mario has done 100 jumps bit 4 = Monstro Town: Chester has been talked to 1st time 00:7093 bit 4 = Monstro Town: Piranha plant thinks Culex moved away 00:70C8 hidden treasure chest count 40:3E00-40:3EFF frame timer (256 bytes, each address = 2 frames) //////////////////////////////////////////////////////////////////////// WRAM ---- 7E:0044 damage accumulated by consecutive super jumps 7E:0048 current formation (2 bytes) 7E:004B battlefield BG 7E:0225 dialogue option chosen (0 - 1st option, 1 - 2nd option, etc...) 7E:0335 current music 7E:03CC physical field byte 7E:04E4 current interactive object 7E:0539 spell to use 7E:072C spell to use 7E:091C-0924 menu option 1-9 00 Equip 01 Item 02 Special 03 Status 04 Special Item 05 Map 06 Star Pieces 07 Switch 08 Game 7E:0926 # of party members 7E:0928 which menu option the cursor is on 7E;09E5 current world map location 7E:1D00 current music 7E:1D01 current sound effect 7E:2000 current background color (2 bytes) 7E:2940 item bytes 7E:3944 Background 7E:3942 Background screen wrap (bottom; on entrance) 7E:4190 current HP slot 1, digit 1 (top) 7E:4192 current HP slot 1, digit 2 (top) 7E:4194 current HP slot 1, digit 3 (top) 7E:4196 current HP slot 1, slash bar (top) 7E:4198 max HP slot 1, digit 1 (top) 7E:419A max HP slot 1, digit 2 (top) 7E:419C max HP slot 1, digit 3 (top) 7E:41D0 current HP slot 1, digit 1 (bottom) 7E:41D2 current HP slot 1, digit 2 (bottom) 7E:41D4 current HP slot 1, digit 3 (bottom) 7E:41D6 current HP slot 1, slash bar (bottom) 7E:41D8 max HP slot 1, digit 1 (bottom) 7E:41DA max HP slot 1, digit 2 (bottom) 7E:41DC max HP slot 1, digit 3 (bottom) 7E:5800-7E:5FFF BG3 overworld menu tilemap 7E:6000-7E:6FFF overworld menu item list 7E:7040 spell list in battle (6 bytes) 7E:70D4 current HP slot 1, digit 1 (hex to dec: HP / #$0064 = digit 1) 7E:70D6 current HP slot 1, digit 2 (hex to dec: HP / #$0064, remainder / #$000A = digit 2) 7E:70D8 current HP slot 1, digit 3 (hex to dec: HP / #$0064, remainder / #$000A, remainder = digit 3) 7E:70DA slot 1, / slash bar 7E:70DC max HP slot 1, digit 1 7E:70DE max HP slot 1, digit 2 7E:70E0 max HP slot 1, digit 3 7E:7248 current HP slot 2, digit 1 7E:724A current HP slot 2, digit 2 7E:724C current HP slot 2, digit 3 7E:724E slot 2, / slash bar 7E:7250 max HP slot 2, digit 1 7E:7252 max HP slot 2, digit 2 7E:7254 max HP slot 2, digit 3 EXPANDED WRAM ------------- 7E:D123 current formation 7E:E000 - 7E:E00F variables used in battle scripts 7E:E010 Jump increment counter 7E:E012 Mystery Egg/Lamb's Lure counters Mystery Egg counter decrements from 10 to 0 Lamb's Lure counter increments from 0 to 48 7E:E014 Lucky Jewel counter 7E:FA00 7E:FA02 total XP gained from battle 7E:FA04 total coins gained from battle 7E:FA0C current FP 7E:FA0D max FP 7E:FA0E monster formation byte 2 7E:FA0F monster formation byte 1 7E:FA1C 7E:FA1D battle event 7E:FA1E battle music CHARACTER BATTLE STATS - Slot 1 7E:FA80 mortal status 7E:FA81 character byte 7E:FA90 Level 7E:FA91 Current HP (2 bytes) 7E:FA93 Maximum HP (2 bytes) 7E:FA95 Speed 7E:FA96 Dttack 7E:FA97 Defense 7E:FA98 Magic Attack 7E:FA99 Magic Defense 7E:FA9A Current EXP (2 bytes) 7E:FA9C equipped weapon 7E:FA9D equipped armor 7E:FA9E equipped accessory 7E:FA9F unused byte* 7E:FAA0 spell list (4 bytes) 7E:FAC0 status (ailments, if any) 7E:FAC1 reaction after being attacked (jarred while ducking, standing, etc.) 7E:FAC4 7E:FAC5 amount of damage to display 7E:FAF0 modified speed 7E:FB00-FB7F Slot 2 7E:FB80-FBFF Slot 3 MONSTER BATTLE STATS - Slots 1-8 7E:FC00 mortal status bit 6: disable target bit 7: remove target 7E:FC01 monster byte 7E:FC11 Current HP (2 bytes) 7E:FC13 Maximum HP (2 bytes) 7E:FC15 Speed 7E:FC16 Attack 7E:FC17 Defense 7E:FC18 Magic Attack 7E:FC19 Magic Defense 7E:FC1A Current FP 7E:FC1B Evade% 7E:FC1C Magic Evade% 7E:FC1D Special Flags 7E:FC1E 7E:FC1F 7E:FC20 7E:FC21 7E:FC22 entrance style byte 7E:FC2C coin animation 7E:FC2D flower bonus 7E:FC2E entrance style bits 7E:FC37 targetting cursor X coordinate 7E:FC38 targetting cursor Y coordinate 7E:FC3D elevation 7E:FC41 special defense (death/morph protection) 7E:FC45 amount of damage to display 7E:FC46 heal bit 7E:FC80-FFFF slot 5 - 8 (128 bytes each) 7F:F40A Room 1 to Room 2 event 7F:F42E Room 1 to Room 2 screen darkening 7F:B6CE battle-prone sprites 7F:B6CF movement of monsters on screen 7F:8000-7F:AFFF physical tile properties (1024 tiles, 12 bytes each) 7F:F41C pointer to room byte CHARACTER OVERWORLD STATS - Mario 7F:F800 current level 7F:F801 current HP (2 bytes) 7F:F803 maximum HP (2 bytes) 7F:F805 speed 7F:F806 attack 7F:F807 defense 7F:F808 magic attack 7F:F809 magic defense 7F:F80A experience (2 bytes) 7F:F80C equipped weapon 7F:F80D equipped armor 7F:F80E equipped accessory 7F:F80F unused byte* 7F:F810 spell list (4 bytes) 7F:F814-7F:F827 Toadstool 7F:F828-7F:F83B Bowser 7F:F83C-7F:F84F Geno 7F:F850-7F:F863 Mallow 7F:F864-7F:F881 Equipment 7F:F882-7F:F89F Items 7F:F8A0-7F:F8AE Special Items 7F:F8AF Current Coins (2 bytes) 7F:F8B1 Current FP 7F:F8B2 Max FP 7F:F8B3 Current Frog Coins 7F:F8BD Jump increment power 7F:F8C0 Super Jump record *based on careful observation, this byte is apparently never used NOTE: SMRPG does not use an absolute address for storing final damage/health (i.e 7E:????). It uses a direct page, $C2, and subtracts/adds the result (after stat modifications) from current HP and uses difference/sum to determine outcome (this is all determined before the actual attack/spell animation and final damage digit display). Thus, it is impossible to directly edit the final damage through a PAR code. JOYPAD REGISTER BITS -------------------- 0010 R 0020 L 0040 X 0080 A 0100 right 0200 left 0400 down 0800 up 1000 START 2000 SELECT 4000 Y 8000 B